﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace UI.Desktop
{
    //usada para dar alta, modificaciones, consultas y eliminar datos


    public partial class ApplicationForm : Form
    {
        private ModoForm _Modo;

        #region Metodos

        //utilizado por cada formulario para copiar datos de las entidades
        protected virtual void MapearDeDatos()
        {
        }

        //pasa los datos del formulario a la entiedad y esta a capas inferiores
        protected virtual void MapearADatos()
        {
        }

        //invoca al metodo correspondiente de las entidades de negocio segun sea el formulario
        protected virtual void GuardarCambios()
        {
        }

        //valida que los son validos para registrarlos
        protected virtual bool Validar()
        {
            return false;
        }

        //metodo de aviso al usuario
        protected void Notificar(string titulo, string mensaje, MessageBoxButtons botones, MessageBoxIcon icono)
        {
            MessageBox.Show(mensaje, titulo, botones, icono);
        }

        protected void Notificar(string mensaje, MessageBoxButtons botones, MessageBoxIcon icono)
        {
            MessageBox.Show(this.Text, mensaje, botones, icono);
        }



        #endregion

        #region propiedades

        public ModoForm Modo
        {
            get { return _Modo; }
            set { _Modo = value; }
        }

        #endregion

        #region Enumeradores

        public enum ModoForm
        {
            Alta,
            Baja,
            Modifica,
            Consulta
        }

        #endregion

        private void ApplicationForm_Load(object sender, EventArgs e)
        {

        }
    }
}
